Argomento precedente: LOAD: generatore del carico

Argomento successivo: MTA - Agente di trasporto di messaggio di posta


SQUID - Proxy di SQUID

Ultima versione: 2.0.2-1

SQUID: server proxy

In breve

Catalogo

Sistema

Categoria

Varie Appliance

Volumi dell'utente

Num. minimo memoria

96 M

OS

Linux

Vincoli

no

Domande/commenti

Fare richieste al forum

Panoramica funzionale

SQUID è un'appliance di cache forward o di proxy inverso. SQUID agisce come agente, accettando le richieste HTTP dai client sul suo terminale IN e trasmettendole al server adeguato connesso al terminale OUT. Archivia una copia dei dati restituiti in una memoria e in una cache su disco. Quando questi dati vengono richiesti più volte, i dati della cache sono restituiti al client in modo da velocizzare l'accesso e diminuire il carico del server di origine.

SQUID supporta due modalità operative: proxy e acceleratore Web.

Modalità proxy

In modalità proxy, SQUID funge da proxy di cache forward ed è generalmente installato fra uno o più client e Internet. Mantiene copie locali dei dati richiesti più frequentemente e restituisce il contenuto della cache, quando applicabile, velocizzando le richieste di servizio e riducendo la larghezza di banda a monte.

Modalità acceleratore Web

Nella modalità acceleratore Web, SQUID funge da proxy inverso della cache ed è generalmente installato di fronte a uno o a più server Web. Tutto il traffico destinato al(i) server Web passa per SQUID. SQUID mantiene le copie locale dei dati richiesti frequentemente e restituisce il contenuto della cache, quando applicabile, riducendo il tempo di risposta e il carico sui server backend.

Risorse

Risorsa

Minimo

Massimo

Predefinito

Testato

CPU

0.05

2

0.2

2

Memoria

96 MB

4 GB

256 MB

4 GB

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

1,5 Gbps

Requisiti di memoria per SQUID

Il valore di memoria richiesto da SQUID dipende dalla dimensione del volume di cache e dal numero di richieste concorrenti. SQUID usa fino a 10 Megabyte di memoria per indicizzare 1 Gigabyte di archiviazione di cache. Quindi l'uso di un volume di cache di 100 Gb richiede 1 Gb di memoria aggiuntivo. Una certa quantità di memoria è usato per servire ciascuna connessione. SQUID usa fino a 20 Megabyte di memoria per servire 1000 connessioni concorrenti. Quindi se sono attese 5000 connessioni concorrenti, la memoria SQUID dovrebbe essere aumentata di 100 MByte.

Importante: Se non vi è abbastanza memoria disponibile, SQUID può non funzionare correttamente.

Terminali

name

dir

prot.

description

in

in

HTTP

Accetta le richieste in entrata.

out

out

HTTP

Invia tutto il traffico fuori dall'indirizzo di destinazione e riceve le risposte

log

out

CIFS

Accesso a un file system di rete basato su CIFS per l'archiviazione dei log di archiviazione. Il server connesso deve permettere accessi anonimi e avere una condivisione di lettura/scrittura denominata shared. Questo terminale può essere lasciato non connesso se non è utilizzato.

mon

out

CCE

Invia le statistiche sull'utilizzo delle risorse e le prestazioni. Questo terminale può essere lasciato non connesso se non viene utilizzato.

Volumi di utente

name

description

cache

Volume per l'archiviazione dei file di cache. Questo volume è obbligatorio. La dimensione minima del volume di cache è 100 M.

Note:

Proprietà generali

name

type

description

modalità

Stringa

Modalità di operazione. I valori validi sono proxy o web_accelerator.
proxy - SQUID funziona in modalità di proxy, fungendo da proxy di forward della cache.
web_accelerator - SQUID funziona in modalità di acceleratore Web, fungendo da proxy inverso della cache.
Predefinito: web_accelerator

listen_port

Int

Porta per accettare le richieste dai client interni in modalità di proxy o dagli utenti dei siti Web esterni in modalità di web_accelerator.
Impostazione predefinita: 80

hostname

Stringa

Nome host usato nei messaggi di errore
Impostazione predefinita: localhost

connect_timeout

Int

Il timeout in secondi durante il quale SQUID attende che TCP si connetta al server richiesto. Se il timeout viene superato, SQUID risponde con il messaggio di errore "Timeout di connessione" al client.
Impostazione predefinita: 30

Registrazione delle proprietà

name

type

description

log_enable

Stringa

Abilitare o disabilitare il log di accesso
Predefinito: no

log_filename

Stringa

Nome di file per il log di accesso, relativo al file system cui si accede dal terminale di log. Il nome del file può includere un percorso: ad esempio, con un valore di access.log il file di registro sarà /mnt/log/access.log, mentre con un valore di /proxy_logs/squid1_access.log il file di registro sarà /mnt/log/proxy_logs/squid1_access.log.
Predefinito: access.log

log_format

Stringa

Formato del log di accesso.
nativo - utilizzare il formato di registrazione nativo di SQUID.
httpd - usa il formato di registrazione httpd.
Predefinito: nativo

Contatori personalizzati

L'appliance di SQUID riporta i seguenti contatori personalizzati dal terminale di MON.

Nome di contatore SNMP

Nome di contatore

Description

SQUID-MIB::cacheSysVMsize

SysVMsize

Dimensione di cache di memoria in KB.

SQUID-MIB::cacheSysStorage

SysStorage

Dimensione di cache di disco in KB.

SQUID-MIB::cacheUptime

Tempo di corretto funzionamento

Tempo di corretto funzionamento di SQUID in timeticks (1/100 di secondo).

SQUID-MIB::cacheSysPageFaults

SysPageFaults

Errori di pagina con I/O fisico.

SQUID-MIB::cacheSysNumReads

SysNumReads

Numero I/O HTTP di letture.

SQUID-MIB::cacheMemUsage

MemUsage

Memoria totale usata da SQUID in KB.

SQUID-MIB::cacheCpuTime

CpuTime

Valore di secondi di CPU consumati.

SQUID-MIB::cacheCpuUsage

CpuUsage

Uso di CPU in termini percentuali.

SQUID-MIB::cacheMaxResSize

MaxResSize

Dimensione residente massima in KB.

SQUID-MIB::cacheNumObjCount

NumObjCount

Numero di oggetti archiviati nella cache.

SQUID-MIB::cacheCurrentUnlinkRequests

CurrentUnlinkRequests

Richieste date a unlinkd.

SQUID-MIB::cacheCurrentUnusedFDescrCnt

CurrentUnusedFDescrCnt

Numero disponibile di descrittori di file.

SQUID-MIB::cacheCurrentResFileDescrCnt

CurrentResFileDescrCnt

Numero riservato di descrittori di file.

SQUID-MIB::cacheCurrentFileDescrCnt

CurrentFileDescrCnt

Numero di descrittori di file in uso.

SQUID-MIB::cacheCurrentFileDescrMax

CurrentFileDescrMax

Numero più elevato di descrittori di file in uso.

SQUID-MIB::cacheProtoClientHttpRequests

ProtoClientHttpRequests

Numero di richieste HTTP ricevute.

SQUID-MIB::cacheHttpHits

HttpHits

Numero di hit HTTP di cache.

SQUID-MIB::cacheHttpErrors

HttpErrors

Numero di errori di HTTP di cache.

SQUID-MIB::cacheHttpInKb

HttpInKb

Traffico HTTP ricevuto, in kilobyte.

SQUID-MIB::cacheHttpOutKb

HttpOutKb

Traffico HTTP inviato, in kilobyte.

SQUID-MIB::cacheServerRequests

ServerRequests

Numero di richieste dal client per il server di cache.

SQUID-MIB::cacheServerErrors

ServerErrors

Tutti gli errori per il server di cache dalle richieste di client

SQUID-MIB::cacheServerInKb

ServerInKb

Traffico in entrata dai server, in kilobyte.

SQUID-MIB::cacheServerOutKb

ServerOutKb

Traffico in uscita ai server, in kilobyte.

SQUID-MIB::cacheClients

Client

Numero di client che accedono alla cache

SQUID-MIB::cacheHttpAllSvcTime.1

HttpAllSvcTime1

Tempo di CPU trascorso per l'elaborazione delle richieste HTTP (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheHttpAllSvcTime.5

HttpAllSvcTime5

Tempo di CPU trascorso per l'elaborazione delle richieste HTTP (negli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheHttpAllSvcTime.60

HttpAllSvcTime60

Tempo di CPU trascorso per l'elaborazione delle richieste HTTP (negli ultimi 60 minuti), in secondi.

SQUID-MIB::cacheHttpMissSvcTime.1

HttpMissSvcTime1

Tempo di CPU trascorso per l'elaborazione dei miss della cache (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheHttpMissSvcTime.5

HttpMissSvcTime5

Tempo di CPU trascorso per l'elaborazione dei miss della cache (negli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheHttpMissSvcTime.60

HttpMissSvcTime60

Tempo di CPU trascorso per l'elaborazione dei miss della cache (negli ultimi 60 minuti), in secondi.

SQUID-MIB::cacheHttpNmSvcTime.1

HttpNmSvcTime1

Tempo di CPU trascorso per l'elaborazione degli hit della cache (contenuto non modificato) (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheHttpNmSvcTime.5

HttpNmSvcTime5

Tempo di CPU trascorso per l'elaborazione degli hit della cache (contenuto non modificato) (per gli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheHttpNmSvcTime.60

HttpNmSvcTime60

Tempo di CPU trascorso per l'elaborazione degli hit della cache (contenuto non modificato) (per gli ultimi 60 minuti), in secondi.

SQUID-MIB::cacheHttpHitSvcTime.1

HttpHitSvcTime1

Tempo di CPU trascorso per l'elaborazione degli hit della cache (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheHttpHitSvcTime.5

HttpHitSvcTime5

Tempo di CPU trascorso per l'elaborazione degli hit della cache (negli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheHttpHitSvcTime.60

HttpHitSvcTime60

Tempo di CPU trascorso per l'elaborazione degli hit della cache (negli ultimi 60 minuti), in secondi.

SQUID-MIB::cacheDnsSvcTime.1

DnsSvcTime1

Tempo di CPU trascorso per l'elaborazione delle richieste DNS (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheDnsSvcTime.5

DnsSvcTime5

Tempo di CPU trascorso per l'elaborazione delle richieste DNS (negli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheDnsSvcTime.60

DnsSvcTime60

Tempo di CPU trascorso per l'elaborazione delle richieste DNS (negli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheRequestHitRatio.1

RequestHitRatio1

Richiesta dei rapporti di hit (per l'ultimo minuto), in percentuale, su una scala da 0-100.

SQUID-MIB::cacheRequestHitRatio.5

RequestHitRatio5

Richiesta dei rapporti di hit (per 5 minuti), in percentuale, su una scala da 0-100.

SQUID-MIB::cacheRequestHitRatio.60

RequestHitRatio60

Richiesta dei rapporti di hit (per gli ultimi 60 minuti), in percentuale, su una scala da 0-100.

SQUID-MIB::cacheRequestByteRatio.1

RequestByteRatio1

Rapporti hit in byte (per l'ultimo minuto), in percentuale, su una scala da 0-100.

SQUID-MIB::cacheRequestByteRatio.5

RequestByteRatio5

Rapporti hit in byte (per gli ultimi 5 minuti, in percentuali, su una scala da 0-100).

SQUID-MIB::cacheRequestByteRatio.60

RequestByteRatio60

Rapporti hit in byte (per gli ultimi 60 minuti), in percentuali, su una scala da 0-100.

SQUID-MIB::cacheHttpNhSvcTime.1

HttpNhSvcTime1

Tempo di CPU trascorso per l'elaborazione degli hit della cache (aggiornamento del contenuto) (per l'ultimo minuto), in secondi.

SQUID-MIB::cacheHttpNhSvcTime.5

HttpNhSvcTime5

Tempo di CPU trascorso per l'elaborazione degli hit della cache (aggiornamento di contenuto) (per gli ultimi 5 minuti), in secondi.

SQUID-MIB::cacheHttpNhSvcTime.60

HttpNhSvcTime60

Tempo di CPU trascorso per l'elaborazione degli hit della cache (aggiornamento di contenuto) (per gli ultimi 60 minuti), in secondi.

SQUID-MIB::cacheIpEntries

IpEntries

Voci della cache IP.

SQUID-MIB::cacheIpRequests

IpRequests

Numero di richieste di cache IP.

SQUID-MIB::cacheIpHits

IpHits

Numero di hit di cache IP.

SQUID-MIB::cacheIpPendingHits

IpPendingHits

Numero di hit pendenti di cache IP.

SQUID-MIB::cacheIpNegativeHits

IpNegativeHits

Numero di hit negativi cache IP.

SQUID-MIB::cacheIpMisses

IpMisses

Numero di miss cache IP.

SQUID-MIB::cacheBlockingGetHostByName

BlockingGetHostByName

Numero di richieste gethostbyname di blocco.

SQUID-MIB::cacheAttemptReleaseLckEntries

AttemptReleaseLckEntries

Numero di tentativi di rilascio delle voci di cache IP bloccate.

SQUID-MIB::cacheFqdnEntries

FqdnEntries

Voci di cache FQDN.

SQUID-MIB::cacheFqdnRequests

FqdnRequests

Numero di richieste di cache FQDN.

SQUID-MIB::cacheFqdnHits

FqdnHits

Numero di hit di cache FQDN.

SQUID-MIB::cacheFqdnPendingHits

FqdnPendingHits

Numero di hit pendenti di cache FQDN.

SQUID-MIB::cacheFqdnNegativeHits

FqdnNegativeHits

Numero di hit negativi cache FQDN.

SQUID-MIB::cacheFqdnMisses

FqdnMisses

Numero di miss cache FQDN.

SQUID-MIB::cacheBlockingGetHostByAddr

BlockingGetHostByAddr

Numero di richieste di gethostbyaddr di bloccaggio.

SQUID-MIB::cacheDnsRequests

DnsRequests

Numero di richieste dnsserver esterne.

SQUID-MIB::cacheDnsReplies

DnsReplies

Numero di risposte dnsserver esterne.

SQUID-MIB::cacheDnsNumberServers

DnsNumberServers

Numero di processi dnsserver esterni.

SQUID-MIB::cachePeerRtt

PeerRtt

Ultimo tempo di trip completo noto al pari (in ms).

Messaggi di errore

In caso di errore nell'avvio dell'appliance, è possibile che vengano registrarti i seguenti errori nel log di sistema:

Messaggio di errore

Description

Il volume di cache non è accessibile.

L'appliance non può accedere al volume di cache, forse perché il file system è corrotto.

Il log di accesso è abilitato, ma il terminale di log non è connesso.

il terminale di log non è connesso, ma log_enable è impostato su yes.

Impossibile eseguire SQUID.

Impossibile avviare l'appliance. Può esserci un errore nella configurazione definita dall'utente.

Prestazioni

La tabella di seguito contiene i risultati di benchmark, specificati in richieste per secondo (rps), quando la registrazione è disabilitata. Le prestazioni di SQUID possono degenerarsi quando la registrazione è abilitata. I benchmark sono stati generati usando l'utility di benchmark di Apache inclusa server Web di Apache versione 2.0 e 2.2. Per maggiori informazioni sul benchmark di Apache, visitare il sito Web di Apache. I test di benchmark sono stati eseguiti usando le seguenti impostazioni: bw=500M mem=2G cpu=2.

HIT della cache

concomitanza

rps

concomitanza di 1 client

1500-1800 rps

concomitanza di 10 client

5800-6200 rps

concomitanza di 100 client

7400-7800 rps

concomitanza di 500 client

5300-5500 rps

concomitanza di 1000 client

5300-5500 rps

MISS della cache

concomitanza

rps

concomitanza di 1 client

700-800 rps

concomitanza di 10 client

2000-2200 rps

concomitanza di 100 client

1900-2100 rps

concomitanza di 500 client

1800-2000 rps

concomitanza di 1000 client

1600-1800 rps

Modalità acceleratore Web

SQUID è usato per ridurre il carico su un AppServer servendo tutti i documenti statici. Nota: se le applicazioni java impostano l'opzione Scadenza: intestazione HTTP per i documenti generati, SQUID li gestisce durante il loro ciclo di vita.

Appliance in uso:

Esempio di configurazione della proprietà:

Nome di proprietà

Valore

note

modalità

web_accelerator

SQUID opera in modalità di acceleratore Web, agendo come proxy inverso di cache

listen_port

80

Porta predefinita per le richieste HTTP

hostname

www.host.com

Nome host usato nei messaggi di errore

Modalità di Accelerator Web: applicazione con molti server Web

SQUID è usato per accelerare molti server Web. In questo esempio, un'appliance di URLSW distribuisce le richieste a diversi server Web per url. Appliance in uso:

Esempio di configurazione di proprietà per SQUID:

Nome di proprietà

Valore

note

modalità

web_accelerator

SQUID opera in modalità di acceleratore Web, agendo come proxy inverso di cache

listen_port

80

Porta predefinita per le richieste HTTP

hostname

www.host1.com

Nome host usato nei messaggi di errore

Configurazione di switch:

Nome di proprietà

Valore

note

out1_type

hostname

out1_value

host1.com

Le richieste per host1.com sono servite da server1

out2_type

hostname

out2_value

host2.com

Le richieste per host2.com sono servite per server2

out3_type

hostname

out3_value

host3.com

Le richieste per host3.com sono servite da server3,

out4_type

hostname

out4_value

host4.com

Le richieste per host4.com sono servite da server4

Modalità proxy

Per i compiti di elaborazione del contenuto, SQUID può velocizzare il recupero delle richieste di duplicato, riducendo il carico sui server Web di destinazione e l'uso della larghezza di banda. In questo esempio, se del contenuto da Internet, ad esempio una pagina Web, un documento pdf o un'immagine, era già richiesto da crawler1, altri crawler ricevono i risultati della cache per lo stesso contenuto.

Modalità proxy

Appliance in uso:

Esempio di configurazione della proprietà:

Nome di proprietà

Valore

note

modalità

proxy

SQUID opera in modalità di proxy, agendo come proxy inverso di cache

listen_port

3128

Porta su quale SQUID ascolta le richieste HTTP.

hostname

proxy.enterprise.local

Nome host usato nei messaggi di errore

note

Questa appliance usa software Open Source e di terze parti

SQUID usa i seguenti pacchetti Open Source di terze parti oltre ai pacchetti Open Source di terze parti usati dalla loro classe di base LUX5.

Software

Versione

Modificato

License

note

net-snmp

5.3.2.2-9.el5_5.1

No

BSD

N/A

net-snmp-libs

5.3.2.2-9.el5_5.1

No

BSD

N/A

net-snmp-utils

5.3.2.2-9.el5_5.1

No

BSD

N/A

samba-client

3.0.33-3.29.el5_5.1

No

GPLv2

N/A

samba-common

3.0.33-3.29.el5_5.1

No

GPLv2

N/A

libsmbclient

3.0.33-3.29.el5_5.1

No

GPLv2

N/A

SQUID

3.1.8-1.el5

No

GPLv2

N/A

lm_sensors

2.10.7-9.el5

No

GPLv2

N/A

dmidecode

2.10-3.el5

No

GPLv2

N/A

perl-DBI

1.52-2.el5

No

GPLv2

N/A